import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { MarshalException } from "../../Engine/RMI/MarshalException";
type int = number;
//class ECopyInfoType

export class ECopyInfoType {
  constructor(arg1: int) {
    this.__value = arg1;
    return;
  }

  public value(): int {
    return this.__value;
  }

  public __write(arg1: SerializeStream): void {
    arg1.writeShort(this.__value);
    return;
  }

  public static convert(arg1: int): ECopyInfoType {
    return new ECopyInfoType(arg1);
  }

  public static __read(arg1: SerializeStream): ECopyInfoType {
    var loc1 = arg1.readShort();
    if (loc1 < 0 || loc1 >= 129) {
      throw new MarshalException();
    }
    return ECopyInfoType.convert(loc1);
  }

  public static /* const */ _ECopyInfoTypeRing: int = 0;

  public static /* const */ _ECopyInfoTypeEnd: int = 1;

  public static /* const */ _ECopyInfoTypeEvenCut: int = 2;

  public static /* const */ _ECopyInfoTypeExchange: int = 4;

  public static /* const */ _ECopyInfoTypeBossRefresh: int = 8;

  public static /* const */ _ECopyInfoTypeEvenCutEx: int = 16;

  public static /* const */ _ECopyInfoTypeEvenCutEnd: int = 32;

  public static /* const */ _ECopyInfoTypeMark: int = 64;

  public static /* const */ _ECopyInfoTypeMarkEx: int = 128;

  public /* var */ __value: int;
}
